/**
 * Foxit Software Inc.
 * Copyright(C) 2005-2014, all rights reserved.
 * The following code is copyrighted and contains proprietary information
 * and trade secrets of Foxit Software Inc.

 * Description: IPDFDocument
 * Author: shaojie zhuo
 * Update: shaojie zhuo (2014-05-07 17:39)
 */

define(function (require, exports, module) {
    var WebPDF = require('../WebPDF.js');

    /**
     * @class Represents the base interface for PDF document object.
     * @memberOf WebPDF
     */
    WebPDF.IPDFDocument = function () {
        /**
         * Returns the number of pages in a PDF document.
         * @returns {Number} The number of pages in a PDF document.
         */
        this.getPageCount = function(){
            return 0;
        };
        /**
         * Get a PDF page object by index.
         * @param {Number} pageIndex Page index to get.
         * @returns {WebPDF.IPDFPage} A PDF page object which is specified by given index.
         */
        this.getPage = function(pageIndex){
            return null;
        };
        /**
         * @description Set the type of PDF Document.
         * @param {WebPDF.PDFDocType} docType PDF Document type.
         * @ignore
         */
        this.setDocType = function (docType) {
        };
        /**
         * Get the type of a PDF document.
         * @returns {WebPDF.PDFDocType} Type of a PDF document.
         */
        this.getDocType = function () {
            return WebPDF.PDFDocType.PDF;
        };
        /**
         * Set document properties in JSON format
         * @param {Object} docProperties document properties to set
         * @ignore
         */
        this.setDocProperties = function (docProperties) {
        };
        /**
         * Get document properties
         * @returns {Object} document properties in JSON format.
         * @ignore
         */
        this.getDocProperties = function () {
            return {};
        };
    };
});
